package com.ruoyi.system.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 会议室申请记录对象 meeting_room_application
 * 
 * @author ruoyi
 * @date 2025-07-01
 */
public class MeetingRoomApplication extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 申请记录主键ID */
    private Long applicationId;

    /** 会议室ID */
    @Excel(name = "会议室ID")
    private Long roomId;

    /** 申请部长ID */
    @Excel(name = "申请部长ID")
    private Long ministerId;

    /** 申请时间 */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @Excel(name = "申请时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm")
    private Date applicationTime;

    /** 会议主题 */
    @Excel(name = "会议主题")
    private String meetingSubject;

    /** 会议开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
    @Excel(name = "会议开始时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm")
    private Date meetingStartTime;

    /** 会议结束时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
    @Excel(name = "会议结束时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm")
    private Date meetingEndTime;

    /** 参会人员ID列表 */
    private String attendees;

    /** 参会人员姓名列表 */
    private String selectedNames;

    /** 申请状态 */
    @Excel(name = "申请状态")
    private String status;

    public void setApplicationId(Long applicationId) 
    {
        this.applicationId = applicationId;
    }

    public Long getApplicationId() 
    {
        return applicationId;
    }

    public void setRoomId(Long roomId) 
    {
        this.roomId = roomId;
    }

    public Long getRoomId() 
    {
        return roomId;
    }

    public void setMinisterId(Long ministerId) 
    {
        this.ministerId = ministerId;
    }

    public Long getMinisterId() 
    {
        return ministerId;
    }

    public void setApplicationTime(Date applicationTime) 
    {
        this.applicationTime = applicationTime;
    }

    public Date getApplicationTime() 
    {
        return applicationTime;
    }

    public void setMeetingSubject(String meetingSubject) 
    {
        this.meetingSubject = meetingSubject;
    }

    public String getMeetingSubject() 
    {
        return meetingSubject;
    }

    public void setMeetingStartTime(Date meetingStartTime) 
    {
        this.meetingStartTime = meetingStartTime;
    }

    public Date getMeetingStartTime() 
    {
        return meetingStartTime;
    }

    public void setMeetingEndTime(Date meetingEndTime) 
    {
        this.meetingEndTime = meetingEndTime;
    }

    public Date getMeetingEndTime() 
    {
        return meetingEndTime;
    }

    public void setAttendees(String attendees) 
    {
        this.attendees = attendees;
    }

    public String getAttendees() 
    {
        return attendees;
    }

    public String getSelectedNames() 
    {
        return selectedNames;
    }

    public void setSelectedNames(String selectedNames) 
    {
        this.selectedNames = selectedNames;
    }

    public void setStatus(String status) 
    {
        this.status = status;
    }

    public String getStatus() 
    {
        return status;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("applicationId", getApplicationId())
            .append("roomId", getRoomId())
            .append("ministerId", getMinisterId())
            .append("applicationTime", getApplicationTime())
            .append("meetingSubject", getMeetingSubject())
            .append("meetingStartTime", getMeetingStartTime())
            .append("meetingEndTime", getMeetingEndTime())
            .append("attendees", getAttendees())
            .append("selectedNames", getSelectedNames())
            .append("status", getStatus())
            .toString();
    }
}
